<?php

class Gamemaster extends CI_model {
	public $kampagner;
	public $kampagne_individ;
	public $kampagne_individ_ider;
	public $kampagne_gruppe;
	public $kampagne_gruppe_ider;
	public $kampagne_sted;
	public $kampagne_sted_ider;
	public $kampagne_begivenhed;
	public $kampagne_begivenhed_ider;

	function find_kampagner($id_gm) 
	{

		$query = $this->db->query("
			SELECT rpg_element.id, navn.navn
			FROM rpg_element, navn
			WHERE gamemaster_id = ".$id_gm."
			AND rpg_element.id = navn.id_element
			AND type_form = 'kampagne'
			");

;

		foreach($query->result() as $rows) 
		{

			$this->kampagner[] = array(
				'kampagne_id' => $rows->id,
				'kampagne_navn' => $rows->navn
			);
	
			
		}

	}

	function find_kampagne_elementer(){ //finder de elementer der ligger under kampagnen
		$ingame = $this->session->userdata('ingame');
		$deltager = $this->session->userdata('deltager');	

		$query = $this->db->query('
			SELECT element.id, navn.navn
			FROM element, navn
			WHERE kampagne = '.$ingame['kampagne_id'].'
			AND element.id = navn.id_element
            AND element.slettet = 0
		');

		$this->load->model('core/element');
		$ele = new element();
		$ele->find_alle_af_type("individ");
		$ind = $ele->alle_af_type_ider;
		$ele->find_alle_af_type("gruppe");
		$gru = $ele->alle_af_type_ider;
		$ele->find_alle_af_type("sted");
		$ste = $ele->alle_af_type_ider;
		$ele->find_alle_af_type("begivenhed");
		$beg = $ele->alle_af_type_ider;

//INDIVID
		$kampagne_individ = array();
		$kampagne_individ_ider = array();
		foreach($query->result() as $row){
			if(in_array($row->id,$ind)){
				$kampagne_individ[] = array(
					'id' => $row->id,
					'navn' => $row-> navn
				);
				$kampagne_individ_ider[] = $row->id;
			}
		}
		$this->kampagne_individ = $kampagne_individ;
		$this->kampagne_individ_ider = $kampagne_individ_ider;

//GRUPPE
		$kampagne_gruppe = array();
		$kampagne_gruppe_ider = array();
		foreach($query->result() as $row){
			if(in_array($row->id,$gru)){
				$kampagne_gruppe[] = array(
					'id' => $row->id,
					'navn' => $row->navn
				);
				$kampagne_gruppe_ider[] = $row->id;
			}
		}
		$this->kampagne_gruppe = $kampagne_gruppe;
		$this->kampagne_gruppe_ider = $kampagne_gruppe_ider;

//STED
		$kampagne_sted = array();
		$kampagne_sted_ider = array();
		foreach($query->result() as $row){
			if(in_array($row->id,$ste)){
				$kampagne_sted[] = array(
					'id' => $row->id,
					'navn' => $row->navn
				);
				$kampagne_sted_ider[] = $row->id;
			}
		}
		$this->kampagne_sted = $kampagne_sted;
		$this->kampagne_sted_ider = $kampagne_sted_ider;

//BEGIVENHED
		$kampagne_begivenhed = array();
		$kampagne_begivenhed_ider = array();
		foreach($query->result() as $row){
			if(in_array($row->id,$beg)){
				$kampagne_begivenhed[] = array(
					'id' => $row->id,
					'navn' => $row-> navn
				);
				$kampagne_begivenhed_ider[] = $row->id;
			}
		}
		$this->kampagne_begivenhed = $kampagne_begivenhed;
		$this->kampagne_begivenhed_ider = $kampagne_begivenhed_ider;

//ALLE
		$kampagne_alle = array();
		$kampagne_alle_ider = array();
		foreach($query->result() as $row){
			$kampagne_alle[] = array(
				'id' => $row->id,
				'navn' => $row-> navn
			);
			$kampagne_alle_ider[] = $row->id;
		}
		$this->kampagne_alle = $kampagne_alle;
		$this->kampagne_alle_ider = $kampagne_alle_ider;
	}


	public function find_beskrivelser($id_deltager)
	{
		/* 
		KODER:
			FEJL: mangler, og kritisk, at den bliver sat
			MANGLER: mangler, men ikke kritisk, at det bliver sat
			
		 */
		$query = $this->db->query('
			SELECT *
			FROM beskrivelse
			WHERE id_deltager = '.$id_deltager.'
		');

		$this->load->model('translation/tid_model');

		foreach($query->result() as $row)
		{
			$beskrivelse = array();

//ID
			if(isset($row->id) and !empty($row->id)){
				$beskrivelse['id'] = $row->id;			
			}else{
				$beskrivelse['id'] = "FEJL";
			}
//OVERSKRIFT		
			if(isset($row->overskrift) and !empty($row->overskrift)){
				$beskrivelse['overskrift'] = $row->overskrift;			
			}else{
				$beskrivelse['overskrift'] = "MANGLER";
			}

//TEKST		
			if(isset($row->tekst) and !empty($row->tekst)){
				$beskrivelse['tekst'] = $row->tekst;			
			}else{
				$beskrivelse['tekst'] = "MANGLER";
			}

//TYPE_GAME	
			if(isset($row->type_game) and !empty($row->type_game)){
				$beskrivelse['type_game'] = $row->type_game;			
			}else{
				$beskrivelse['type_game'] = "FEJL";
			}


//CREATED
			if(isset($row->created) and !empty($row->created)){
				$beskrivelse['created'] = $row->created;			
			}else{
				$beskrivelse['created'] = "MANGLER";
			}


//UPDATED
			if(isset($row->updated) and !empty($row->updated)){
				$beskrivelse['updated'] = $row->updated;			
			}else{
				$beskrivelse['updated'] = "MANGLER";
			}

//HEMMELIG
			if(isset($row->hemmelig) and !empty($row->hemmelig)){
				$beskrivelse['hemmelig'] = $row->hemmelig;			
			}else{
				$beskrivelse['updated'] = "FEJL";
			}

//SLETTET
			if(isset($row->slettet) and !empty($row->slettet)){
				$beskrivelse['slettet'] = $row->slettet;			
			}else{
				$beskrivelse['slettet'] = "FEJL";
			}

//INGAME-TID
			if(isset($row->ingame_tid) and !empty($row->ingame_tid)){
				$beskrivelse['ingame_tid_db'] = $row->ingame_tid;
				$beskrivelse['ingame_tid_navn'] = $this->tid_model->tid_navn($row->ingame_tid);	
			}else{
				$beskrivelse['ingame_tid_db'] = $row->ingame_tid;
				$beskrivelse['ingame_tid_navn'] = "<i>ingen</i>";
			}

			$query_element = $this->db->query('
				SELECT * 
				FROM element_beskrivelse
				WHERE id = '.$row->id.'
			');

			$row_element = $query_element->row();

			if($query_element->num_rows() != 1){
				$beskrivelse['element_beskrivelse'] = "Nej";
				$beskrivelse['omhandler_id'] = "FEJL";
				$beskrivelse['omhandler_navn']= "FEJL";
				$beskrivelse['feature'] = "FEJL";
				
			}else{
				$beskrivelse['element_beskrivelse'] = "Ja";
//OMHANDLER_id
				if(isset($row_element->id_element) and !empty($row_element->id_element)){
					$beskrivelse['omhandler_id'] = $row_element->id_element;	
					$query_omhandler = $this->db->query('
						SELECT navn 
						FROM navn
						WHERE id_element = '.$row_element->id_element.'
					');		
					$row_omhandler = $query_omhandler->row();
					$beskrivelse['omhandler_navn'] = $row_omhandler->navn;
				}else{
					$beskrivelse['omhandler_id'] = "FEJL";
					$beskrivelse['omhandler_navn'] = "FEJL";
				}

//FEATURE
				if(isset($row_element->feature) and !empty($row_element->feature)){	
					$query_feature = $this->db->query('
						SELECT feature.feature_navn
						FROM feature
						WHERE feature.feature = "'.$row_element->feature.'"
					');
					$row_feature = $query_feature->row();
					if($query_feature->num_rows() == 1)
					{
						$beskrivelse['feature'] = $row_feature->feature_navn;			
					}else{
						$beskrivelse['feature'] = "FEJL";
					}
				}else{
					$beskrivelse['feature'] = "FEJL";
				}
			}


			if($row->type_game == "in_game")
			{
				$this->load->model('indhold/ingame_beskrivelse');
				$besk = new ingame_beskrivelse();
				$besk->afgoer_eksistens($row->id);
				if($besk->eksistens == 1)
				{
					$besk->find_ingame_beskrivelse($row->id);
					$ingame_besk = $besk->ingame_beskrivelse;
					$beskrivelse['forfatter_id'] = $ingame_besk['forfatter_id'];
					$beskrivelse['forfatter_navn'] = $ingame_besk['forfatter_navn'];			
				}else{
					$beskrivelse['forfatter_id'] = "FEJL";
					$beskrivelse['forfatter_navn'] = "FEJL";	
				}
			}

			$this->alle_beskrivelser[] = $beskrivelse;

		}
	}

	
}
